﻿#region File Description
/****************************************************************************
*                                                                           *
* Game Manager.                                                             *
*                                                                           *
* Copyright (c) Ionescu Marius. All rights reserved(2013).                  *
*                                                                           *
****************************************************************************/
#endregion
namespace Silverlight3D
{
    using System.Windows.Media;

    /// <summary>
    /// Shades colors according to a brightness factor.
    /// </summary>
    public interface IShader
    {
        /// <summary>
        /// Shades a given color according to a given brightness factor (between 0 and 1).
        /// </summary>
        /// <param name="color">Color to shade</param>
        /// <param name="brightness">How bright the resulting color should be (between 0 and 1).</param>
        Color GetShadedColor(Color color, double brightness);

        /// <summary>
        /// Shades a given color according to a given brightness factor (between 0 and 1) and returns a Brush set to that color.
        /// </summary>
        /// <param name="color">Color to shade</param>
        /// <param name="brightness">How bright the resulting brush's color should be (between 0 and 1).</param>
        Brush GetShadedBrush(Color color, double brightness);
    }
}